﻿//  Copyright 2020 Google Inc. All Rights Reserved.
//
//  Licensed under the Apache License, Version 2.0 (the "License");
//  you may not use this file except in compliance with the License.
//  You may obtain a copy of the License at
//
//  http://www.apache.org/licenses/LICENSE-2.0
//
//  Unless required by applicable law or agreed to in writing, software
//  distributed under the License is distributed on an "AS IS" BASIS,
//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//  See the License for the specific language governing permissions and
//  limitations under the License.

using NtCoreLib.Utilities.Reflection;

namespace NtCoreLib.Win32.Security.Authentication.Kerberos;

#pragma warning disable 1591
/// <summary>
/// Kerberos Error Type.
/// </summary>
public enum KerberosErrorType
{
    [SDKName("KDC_ERR_NONE")] NONE = 0,
    [SDKName("KDC_ERR_NAME_EXP")] NAME_EXP = 1,
    [SDKName("KDC_ERR_SERVICE_EXP")] SERVICE_EXP = 2,
    [SDKName("KDC_ERR_BAD_PVNO")] BAD_PVNO = 3,
    [SDKName("KDC_ERR_C_OLD_MAST_KVNO")] C_OLD_MAST_KVNO = 4,
    [SDKName("KDC_ERR_S_OLD_MAST_KVNO")] S_OLD_MAST_KVNO = 5,
    [SDKName("KDC_ERR_C_PRINCIPAL_UNKNOWN")] C_PRINCIPAL_UNKNOWN = 6,
    [SDKName("KDC_ERR_S_PRINCIPAL_UNKNOWN")] S_PRINCIPAL_UNKNOWN = 7,
    [SDKName("KDC_ERR_PRINCIPAL_NOT_UNIQUE")] PRINCIPAL_NOT_UNIQUE = 8,
    [SDKName("KDC_ERR_NULL_KEY")] NULL_KEY = 9,
    [SDKName("KDC_ERR_CANNOT_POSTDATE")] CANNOT_POSTDATE = 10,
    [SDKName("KDC_ERR_NEVER_VALID")] NEVER_VALID = 11,
    [SDKName("KDC_ERR_POLICY")] POLICY = 12,
    [SDKName("KDC_ERR_BADOPTION")] BADOPTION = 13,
    [SDKName("KDC_ERR_ENCTYPE_NOSUPP")] ENCTYPE_NOSUPP = 14,
    [SDKName("KDC_ERR_SUMTYPE_NOSUPP")] SUMTYPE_NOSUPP = 15,
    [SDKName("KDC_ERR_PADATA_TYPE_NOSUPP")] PADATA_TYPE_NOSUPP = 16,
    [SDKName("KDC_ERR_TRTYPE_NOSUPP")] TRTYPE_NOSUPP = 17,
    [SDKName("KDC_ERR_CLIENT_REVOKED")] CLIENT_REVOKED = 18,
    [SDKName("KDC_ERR_SERVICE_REVOKED")] SERVICE_REVOKED = 19,
    [SDKName("KDC_ERR_TGT_REVOKED")] TGT_REVOKED = 20,
    [SDKName("KDC_ERR_CLIENT_NOTYET")] CLIENT_NOTYET = 21,
    [SDKName("KDC_ERR_SERVICE_NOTYET")] SERVICE_NOTYET = 22,
    [SDKName("KDC_ERR_KEY_EXP")] KEY_EXP = 23,
    [SDKName("KDC_ERR_PREAUTH_FAILED")] PREAUTH_FAILED = 24,
    [SDKName("KDC_ERR_PREAUTH_REQUIRED")] PREAUTH_REQUIRED = 25,
    [SDKName("KDC_ERR_SERVER_NOMATCH")] SERVER_NOMATCH = 26,
    [SDKName("KDC_ERR_MUST_USE_USER2USER")] MUST_USE_USER2USER = 27,
    [SDKName("KDC_ERR_PATH_NOT_ACCEPTED")] PATH_NOT_ACCEPTED = 28,
    [SDKName("KDC_ERR_SVC_UNAVAILABLE")] SVC_UNAVAILABLE = 29,
    [SDKName("KRB_AP_ERR_BAD_INTEGRITY")] BAD_INTEGRITY = 31,
    [SDKName("KRB_AP_ERR_TKT_EXPIRED")] TKT_EXPIRED = 32,
    [SDKName("KRB_AP_ERR_TKT_NYV")] TKT_NYV = 33,
    [SDKName("KRB_AP_ERR_REPEAT")] REPEAT = 34,
    [SDKName("KRB_AP_ERR_NOT_US")] NOT_US = 35,
    [SDKName("KRB_AP_ERR_BADMATCH")] BADMATCH = 36,
    [SDKName("KRB_AP_ERR_SKEW")] SKEW = 37,
    [SDKName("KRB_AP_ERR_BADADDR")] BADADDR = 38,
    [SDKName("KRB_AP_ERR_BADVERSION")] BADVERSION = 39,
    [SDKName("KRB_AP_ERR_MSG_TYPE")] MSG_TYPE = 40,
    [SDKName("KRB_AP_ERR_MODIFIED")] MODIFIED = 41,
    [SDKName("KRB_AP_ERR_BADORDER")] BADORDER = 42,
    [SDKName("KRB_AP_ERR_BADKEYVER")] BADKEYVER = 44,
    [SDKName("KRB_AP_ERR_NOKEY")] NOKEY = 45,
    [SDKName("KRB_AP_ERR_MUT_FAIL")] MUT_FAIL = 46,
    [SDKName("KRB_AP_ERR_BADDIRECTION")] BADDIRECTION = 47,
    [SDKName("KRB_AP_ERR_METHOD")] METHOD = 48,
    [SDKName("KRB_AP_ERR_BADSEQ")] BADSEQ = 49,
    [SDKName("KRB_AP_ERR_INAPP_CKSUM")] INAPP_CKSUM = 50,
    [SDKName("KRB_AP_PATH_NOT_ACCEPTED")] AP_PATH_NOT_ACCEPTED = 51,
    [SDKName("KRB_ERR_RESPONSE_TOO_BIG")] RESPONSE_TOO_BIG = 52,
    [SDKName("KRB_ERR_GENERIC")] GENERIC = 60,
    [SDKName("KRB_ERR_FIELD_TOOLONG")] FIELD_TOOLONG = 61,
    [SDKName("KDC_ERR_CLIENT_NOT_TRUSTED")] CLIENT_NOT_TRUSTED = 62,
    [SDKName("KDC_ERR_KDC_NOT_TRUSTED")] KDC_NOT_TRUSTED = 63,
    [SDKName("KDC_ERR_INVALID_SIG")] INVALID_SIG = 64,
    [SDKName("KDC_ERR_DH_KEY_PARAMETERS_NOT_ACCEPTED")] DH_KEY_PARAMETERS_NOT_ACCEPTED = 65,
    [SDKName("KDC_ERR_CERTIFICATE_MISMATCH")] CERTIFICATE_MISMATCH = 66,
    [SDKName("KRB_AP_ERR_NO_TGT")] NO_TGT = 67,
    [SDKName("KDC_ERR_WRONG_REALM")] WRONG_REALM = 68,
    [SDKName("KRB_AP_ERR_USER_TO_USER_REQUIRED")] USER_TO_USER_REQUIRED = 69,
    [SDKName("KDC_ERR_CANT_VERIFY_CERTIFICATE")] CANT_VERIFY_CERTIFICATE = 70,
    [SDKName("KDC_ERR_INVALID_CERTIFICATE")] INVALID_CERTIFICATE = 71,
    [SDKName("KDC_ERR_REVOKED_CERTIFICATE")] REVOKED_CERTIFICATE = 72,
    [SDKName("KDC_ERR_REVOCATION_STATUS_UNKNOWN")] REVOCATION_STATUS_UNKNOWN = 73,
    [SDKName("KDC_ERR_REVOCATION_STATUS_UNAVAILABLE")] REVOCATION_STATUS_UNAVAILABLE = 74,
    [SDKName("KDC_ERR_CLIENT_NAME_MISMATCH")] CLIENT_NAME_MISMATCH = 75,
    [SDKName("KDC_ERR_INCONSISTENT_KEY_PURPOSE")] INCONSISTENT_KEY_PURPOSE = 77,
    [SDKName("KDC_ERR_DIGEST_IN_CERT_NOT_ACCEPTED")] DIGEST_IN_CERT_NOT_ACCEPTED = 78,
    [SDKName("KDC_ERR_PA_CHECKSUM_MUST_BE_INCLUDED")] PA_CHECKSUM_MUST_BE_INCLUDED = 79,
    [SDKName("KDC_ERR_DIGEST_IN_SIGNED_DATA_NOT_ACCEPTED")] DIGEST_IN_SIGNED_DATA_NOT_ACCEPTED = 80,
    [SDKName("KDC_ERR_PUBLIC_KEY_ENCRYPTION_NOT_SUPPORTED")] PUBLIC_KEY_ENCRYPTION_NOT_SUPPORTED = 81,
    [SDKName("KRB_AP_ERR_PRINCIPAL_UNKNOWN")] PRINCIPAL_UNKNOWN = 82,
    [SDKName("KRB_AP_ERR_REALM_UNKNOWN")] REALM_UNKNOWN = 83,
    [SDKName("KRB_AP_ERR_PRINCIPAL_RESERVED")] PRINCIPAL_RESERVED = 84,
    [SDKName("KRB_AP_ERR_IAKERB_KDC_NOT_FOUND")] IAKERB_KDC_NOT_FOUND = 85,
    [SDKName("KRB_AP_ERR_IAKERB_KDC_NO_RESPONSE")] IAKERB_KDC_NO_RESPONSE = 86,
    [SDKName("KDC_ERR_PREAUTH_EXPIRED")] PREAUTH_EXPIRED = 90,
    [SDKName("KDC_ERR_MORE_PREAUTH_DATA_REQUIRED")] MORE_PREAUTH_DATA_REQUIRED = 91,
    [SDKName("KDC_ERR_PREAUTH_BAD_AUTHENTICATION_SET")] PREAUTH_BAD_AUTHENTICATION_SET = 92,
    [SDKName("KDC_ERR_UNKNOWN_CRITICAL_FAST_OPTIONS")] UNKNOWN_CRITICAL_FAST_OPTIONS = 93,
}
